# list列表 []
classmates = ['Michael', 'Bob', 'Tracy']
print(classmates)
print(len(classmates))
for i in classmates:
    print(i)

# append追加元素到末尾
classmates.append('kyrie')
print(classmates)

# insert插入到指定的位置 插入到索引为1的位置
classmates.insert(1, 'ouwen')
print(classmates)

# pop删除末尾元素并返回
print(classmates.pop())

# list里面的元素的数据类型也可以不同
L = ['Apple', 123, True]
print(L)

# 允许嵌套list
s = ['python', 'java', ['asp', 'php'], 'scheme']
print(len(s))

# 嵌套list的数据获取  拿php
p = ['asp', 'php']
s = ['python', 'java', p, 'scheme']
print(p[1]) # 一维数组拿法
print(s[2][1]) # 二维数组拿法


#################################################
print('---------------------------以下是元组---------------------')

# tuple元组 ()
# tuple和list非常类似，但是tuple一旦初始化就不能修改  它没有append()、insert()这样的方法。其他获取元素的方法和list是一样的
classmates = ('Michael', 'Bob', 'Tracy')
print(classmates)

# tuple的陷阱：当你定义一个tuple时，在定义的时候，tuple的元素就必须被确定下来
t = (1, 2) # 例如这样
print(t)
# 如果要定义一个空的tuple
t = ()
print(t)
# 注意！
# 如果是 t = (1) 则定义的不是tuple，而是1这个数！这是因为括号()既可以表示tuple，又可以表示数学公式中的小括号，这就产生了歧义，因此，Python规定，这种情况下，按小括号进行计算，计算结果自然是1。
# 所以只有1个元素的tuple定义时必须加一个逗号,，来消除歧义
t = (1,)
print(t)

